package com.meta.act.app.service;

import com.meta.act.app.tenant.entity.TenantBase;
import com.meta.act.app.tenant.entity.TenantUser;
import com.meta.act.app.tenant.page.Page;
import com.meta.act.app.tenant.req.PageTenantQry;
import com.meta.act.app.tenant.req.TenantDetailQry;
import com.meta.act.app.tenant.res.TenantDetailIo;
import com.meta.act.app.tenant.res.TenantPageIo;
import java.util.List;

/**
 * 租户信息表
 * 
 * @author Simon
 * @email 1111111111111@qq.com
 * @date 2020-11-04 15:23:04
 */
public interface TenantQryService {

	/**
	 * list tenantBase info
	 * @method      listTenantBase
	 * @param       tenantBase:
	 * @return      List<TenantBase>
	 * @author      Simon
	 * @date        2020-11-04 15:23:04
	 */
	List<TenantPageIo> listTenantBase(TenantBase tenantBase);

	List<TenantBase> listTenantUserByUserId(Long userId);

	Page<TenantPageIo> page(PageTenantQry qry);
	
	TenantDetailIo detail(TenantDetailQry qry);

	/**
	 * 获取用户归属的所有租户
	 * @method      listTenantUser
	 * @param       userId:
	 * @return      List<TenantUser>
	 * @author      M.simple
	 * @date        2020/11/25 1:46 下午
	 * @version     v2.0
	 */
	List<TenantUser> listTenant(Long userId);

	TenantBase queryTenantBase(TenantDetailQry tenantDetailQry);
}
